import { ChainId } from '@uniswap/sdk';
import { Configuration } from './basis-cash/config';
import { BankInfo,BlackholeInfo } from './basis-cash';
import { formatUnits } from 'ethers/lib/utils';
import { BigNumber } from 'ethers';
import { VoteInfo } from './basis-cash/types';

const configurations: { [env: string]: Configuration } = {
  development: {
    // chainId: 256,
    // etherscanUrl: 'https://scan-testnet.hecochain.com',
    // defaultProvider: ['https://http-testnet.hecochain.com'],
    // deployments: require('./basis-cash/deployments/deployments.mainnet.json'),
    chainId: 128,
    // chainId: 1337,
    etherscanUrl: 'https://hecoinfo.com',
    defaultProvider: ['https://http-mainnet.hecochain.com', 'https://http-mainnet.hecochain.com', 'https://heconode.ifoobar.com', 'https://heconode.ifoobar.com', 'https://http-mainnet-node.huobichain.com', 'https://http-mainnet-node.defibox.com'],
    // defaultProvider:["http://192.168.31.216:9045"],
    deployments: require('./basis-cash/deployments/deployments.heco.json'),
    externalTokens: {
      //fishnft
      YNC:["0x09143f7448ca4F5b984E7F6F32E265d1DFe1d7f7",18],// Ync地址
      NYC:["0xeBC336c6EAf9dCa34A9c0C2d0F6d968FaAE71E31",18],// nyc地址
      NYCT:["0xeA5400526A900132451dE9ED6Cffd6cdc1Fb1046",18],// nycnft
      // lp
      YNC_USDT_LP:["0x2b301b0b3ad0ffbbbeff71f99d1f94a918933cbb",18], //yncLp地址
      NYC_USDT_LP:["0x07753f40f8f22c4519886274356690392de45623",18],
      USDT:  ['0xa71edc38d189767582c38a3145b5873052c3e47a', 18],
      HUSD:  ['0x0298c2b32eae4da002a15f36fdf7615bea3da047', 8],
      HBTC:  ['0x66a79d23e58475d2738179ca52cd0b41d73f0bea', 18],
      wETH:  ['0x64ff637fb478863b7468bc97d30a5bf3a428a1fd', 18],
      wHT:   ['0x5545153ccfca01fbd7dd11c0b23ba694d9509a6f', 18],
      pNEO:  ['0x6514a5ebff7944099591ae3e8a5c0979c83b2571', 8],
      HFIL:  ['0xae3a768f9ab104c69a7cd6041fe16ffa235d1810', 18],
      HDOT:  ['0xa2c49cee16a5e5bdefde931107dc1fae9f7773e3', 18],
      HLTC:  ['0xecb56cf772b5c9a6907fb7d32387da2fcbfb63b4', 18],
      BAG:   ['0xa042fb0e60125a4022670014ac121931e7501af4', 18],
      fHUSD: ['0xB16Df14C53C4bcfF220F4314ebCe70183dD804c0', 18],
      fUSDT: ['0xAab0C9561D5703e84867670Ac78f6b5b4b40A7c1', 18],
      fHBTC: ['0xF2a308d3Aea9bD16799A5984E20FDBfEf6c3F595', 18],
      fETH:  ['0x033F8C30bb17B47f6f1f46F3A42Cc9771CCbCAAE', 18],
      fHT:   ['0x824151251B38056d54A15E56B73c54ba44811aF8', 18],
      fNEO:  ['0x92701DA6A28Ca70aA5Dfca2B8Ae2b4B8a22a0C11', 18],
      fHFIL: ['0x043aFB65e93500CE5BCbf5Bbb41FC1fDcE2B7518', 18],
      fHDOT: ['0xCca471B0d49c0d4835a5172Fd97ddDEA5C979100', 18],
      fHLTC: ['0x4937A83Dc1Fa982e435aeB0dB33C90937d54E424', 18],
      Filda: ['0xe36ffd17b2661eb57144ceaef942d95295e637f0', 18],
      FILDA: ['0xe36ffd17b2661eb57144ceaef942d95295e637f0', 18],
      LAVA: ['0x56f95662e71f30b333b456439248c6de589082a4', 18],
      MDX: ['0x25d2e80cb6b86881fd7e07dd263fb79f4abe033c',  18],

      SHARE:  ['0x41198c6736d23734E6d17a6F0B4f2D15d2621A3a',  18],
      sCASH:  ['0xb6ccFA7Ef3a295932536E0988CffD85228cB177c',  18],


      sCASH_HUSD_LP:  ['0x29471983b759Ccb802f486244B26A7c7dce8b7B5', 18, 100/3],
      SHARE_HUSD_LP:  ['0xb1188f0bb3eb9a49C0bfcFA87238773352C151C4', 18, 25/3],
      sCASH_USDT_LP:  ['0x454058df2d7ffB8A845Bf884a30D0391166144E7', 18, 100/3],
      SHARE_USDT_LP:  ['0xF61e00443FF42371b9efC4434a610F6e7C0C84aA', 18, 25/3],
      sCASH_SHARE_LP: ['0xfD8E7B365575E7abAA9Cf8F4C205bd8534346878', 18],
      Fund: ['0xAB1B709667ef9869d6287542aaF720D32330E07a',  18],
      TPT: ['0x9ef1918a9bee17054b35108bd3e2665e2af1bb1b', 4],

      LHB: ['0x8f67854497218043e1f72908ffe38d0ed7f24721',  18],
      HBO: ['0x8764bd4fcc027faf72ba83c0b2028a3bae0d2d57',  18],
      NULS: ['0xd938e45680da19ad36646ae8d4c671b2b1270f39',  8],
      sHT: ['0xbBe6C2337a2543239FF313Bed370e4eAEda268eF', 18],
      sHT_wHT_LP: ['0xfccF5ec779dd3F4e3191668B6363B859f5B93D1A', 18, 125/3],
      sHT_USDT_LP: ['0x288C912F299D32F96092c964B5800aF34f88983C', 18, 125/12],
      sHT_sCASH_LP: ['0xa9d3c73F2c32b7640B26dF2224C4572E27c674Ea', 18, 125/12],
      SHARE_wHT_LP: ['0x053C952a219796FA492992D73bD26ec5C2f2eCDf', 18, 125/6],
      sHT_SHARE_LP: ['0x8898Ca698e7D8f58E4F9c992d2404dcc21c15805', 18],

      sNEO: ['0x2f92C6e8ed836B5d507251b59d816A55F1B853cC', 18],
      pFLM: ['0xa0e910ce120d6220ceb3ad0000dbb4843eb912f5', 8],
      pSWTH: ['0x14127C943752d265B21D6963F8576A05c5c8e59c', 8],
      sNEO_pNEO_LP: ['0x30A84c086b73b314a78544153151B7229e1fF26D', 18, (5000/4)/30],
      sNEO_USDT_LP: ['0x94422Af836A521Ce6fd80baB4a0447981B605CbC', 18, (1250/4)/30],
      sNEO_sCASH_LP: ['0x2988d6f7800417EE6F447f25c45F20D0547Be303', 18, (1250/4)/30],
      SHARE_pNEO_LP: ['0xc28339d1cBd9BB47967160D7029015F18C33BA7c', 18, (2500/4)/30],
      sNEO_SHARE_LP: ['0x6860ebA8bB7Bd2B650C62AB5D17886C201f70b32', 18],

      sFILDA:  ['0xb813b811967a77e30B3B1582A578753520C2a4d0',  18],
      sCAN:  ['0x22BAD5077579e4437927Bc4394a6B5435df5f39F',  18],
      sNULS:  ['0x9812C79099418486838a218037D49b2f823F120c',  18],
      sHT_Filda_LP: ['0x182ef3e29d12d6588e3ee27483dafd5994403b3f', 18],
      sHT_CAN_LP: ['0x090D5d9A907064E60EE232Ac1C76d00dF6D90CD9', 18],
      sCASH_NULS_LP: ['0xAf22139E37798E4d2Db60bf2cd1Ba79056986B2e', 18],
      sNEO_pFLM_LP: ['0xC576CdD1b8eaeE11cBAd3a425d854471E3FA83C6', 18],
      CAN: ['0x1e6395e6b059fc97a4dda925b6c5ebf19e05c69f', 18],
      sFLM: ['0xc9269B837613ffB0ae04123b410A4A0E59402932', 18],

      sFILDA_FILDA_LP: ['0x214306CeaFEff05041D90946755D3a4deb6958d2', 18],
      FILDA_sHT_LP: ['0x182EF3e29D12D6588E3EE27483dAfD5994403B3f', 18],
      SHARE_FILDA_LP: ['0xE7d0bdeA93cE492A29c809dB9E79E966C94e4eb4', 18],
      sFILDA_SHARE_LP: ['0x20560AB473334FabFF3Bff7E806fdf7dc913598B', 18],

      FIX: ['0xde9495de889996404b14ddbf05f66db7401f0733', 18],
      SOVI: ['0x49e16563a2ba84e560780946f0fb73a8b32c841e', 18],
      HPT: ['0xe499ef4616993730ced0f31fa2703b92b50bb536', 18],
      fELA: ['0x0AD0bee939E00C54f57f21FBec0fBa3cDA7DEF58', 18],
      fMDX: ['0x5788c014d41ca706de03969e283ee7b93827b7b1', 18],
      ELA: ['0xa1ecfc2bec06e4b43ddd423b94fef84d0dbc8f5c', 18],
      sSHARE: ['0x9019CA43C7f6de0C87483EfA9c1Ba65A369F22e4', 18],

      BEE: ['0xb1f80844a1b84c61ab80cafd88b1f8c09f9342e1', 8],
      EDC: ['0x68a0a1fef18dfcc422db8be6f0f486dea1999edc', 9],
      SWFTC: ['0x329dda64cbc4dfd5fa5072b447b3941ce054ebb3', 8],
      DATT: ['0x018619e9740466da2146fd2528d1351824ca98b1', 18],
      ARCH: ['0xfB6f575FdD24c17Ea5F19892c82C9eA878400a2a', 10],
      GOBLIN: ['0xe66bfdfc19c8b4caa76b18022c40c45beee22294', 8],
      NVT: ['0xf0e406c49c63abf358030a299c0e00118c4c6ba5', 8],

      sNULS_NULS_LP: ['0x367B03ee87d2cc3f24cbdBc78B3875516DfbCBF2', 18],
      SHARE_NULS_LP: ['0xf5689478a56fDE14802401fd41124d8EAb9e3340', 18],
      sNULS_SHARE_LP: ['0xc3573A79aa0aEbdF5a3d15edEF4799F4a126717b', 18],

      vSHARE: ['0xFd981d07CD2cBe039D5A7Ab246C0C92F8ED4FEA8', 18],

      sMDX: ['0x46914A848405fd79a0B937F388936C9798bF6eAC', 18],
      sHT_MDX_LP: ['0x7d4c254E6bE63ff4508C545eC6Ce10a392958B3e', 18],

      SHARE_USDT_LAVA_LP: ['0xa83f4570556438e38979e868702b53643888a79f', 18],
    },
    group: 'neo',
    spConfigs: {
      'sCASH': 'USDT',
      'sHT': 'wHT',
      'sNEO': 'pNEO',
      'sFILDA': 'Filda',
      'sNULS': 'NULS',
      'sCAN': 'CAN',
      'sFLM': 'pFLM',
      'sMDX': 'MDX',
    },
    plane: {
      cash: {
        boardroomLaunchesAt: new Date('2021-03-01T00:00:00Z'),
        bankStartAt: new Date('2021-03-01T00:00:00Z'),
        bankEndAt: new Date('2021-03-01T00:00:00Z'),
        blackHoleStartAt: new Date('2021-03-01T00:00:00Z'),
        blackHoleEndAt: new Date('2021-03-01T00:00:00Z'),
        oracle: 'sCASH_USDT_oracle',
        lp2: true,
      },
      ht: {
        boardroomLaunchesAt: new Date('2021-03-11T08:00:00Z'),
        bankStartAt: new Date('2021-03-06T08:00:00Z'),
        bankEndAt: new Date('2021-03-11T08:00:00Z'),
        blackHoleStartAt: new Date('2021-03-06T08:00:00Z'),
        blackHoleEndAt: new Date('2021-03-11T08:00:00Z'),
        oracle: 'sHT_wHT_oracle',
      },
      neo: {
        boardroomLaunchesAt: new Date('2021-03-20T08:00:00Z'),
        bankStartAt: new Date('2021-03-15T08:00:00Z'),
        bankEndAt: new Date('2021-03-20T08:00:00Z'),
        blackHoleStartAt: new Date('2021-03-15T08:00:00Z'),
        blackHoleEndAt: new Date('2021-03-20T08:00:00Z'),
        oracle: 'sNEO_pNEO_oracle',
      },
      mdx: {
        boardroomLaunchesAt: null,
        lpPair: 'MDX/sHT',
        lp: 1000000,
        lpLabel: '1M',
        lpOracle: 'sHT_MDX_LOracle',
        lpContract: 'sHT_MDX_LP',
        bankStartAt: new Date('2021-04-15T08:00:00Z'),
        bankEndAt: new Date('2021-04-20T08:00:00Z'),
        blackHoleStartAt: null,
        blackHoleEndAt: null,
        oracle: null,
        lp2: true,
      },
      filda: {
        boardroomLaunchesAt: new Date('2021-04-01T08:00:00Z'),
        lpPair: 'Filda/sHT',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sHT_Filda_LOracle',
        lpContract: 'sHT_Filda_LP',
        bankStartAt: new Date('2021-03-31T08:00:00Z'),
        bankEndAt: new Date('2021-04-05T08:00:00Z'),
        blackHoleStartAt: new Date('2021-03-31T08:00:00Z'),
        blackHoleEndAt: new Date('2021-04-01T08:00:00Z'),
        oracle: 'sFILDA_FILDA_oracle',
        lp2: true,
      },
      nuls: {
        boardroomLaunchesAt: new Date('2021-04-07T08:00:00Z'),
        lpPair: 'NULS/sCASH',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sCASH_NULS_LOracle',
        lpContract: 'sCASH_NULS_LP',
        bankStartAt: new Date('2021-04-02T08:00:00Z'),
        bankEndAt: new Date('2021-04-07T08:00:00Z'),
        blackHoleStartAt: new Date('2021-04-02T08:00:00Z'),
        blackHoleEndAt: new Date('2021-04-03T08:00:00Z'),
        oracle: 'sNULS_NULS_oracle',
        lp2: true,
      },
      can: {
        boardroomLaunchesAt: null,//new Date('2021-04-20T00:00:00Z'),
        lpPair: 'CAN/sHT',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sHT_CAN_LOracle',
        lpContract: 'sHT_CAN_LP',
      },
      flm: {
        boardroomLaunchesAt: null,//new Date('2021-04-20T00:00:00Z'),
        lpPair: 'pFLM/sNEO',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sNEO_pFLM_LOracle',
        lpContract: 'sNEO_pFLM_LP',
      },
      eth: {
        boardroomLaunchesAt: null,//new Date('2021-03-31T00:00:00Z'),
        sCASH: 2100000,
      },
      btc: {
        boardroomLaunchesAt: null,//new Date('2021-04-10T00:00:00Z'),
        sCASH: 21000000,
      },
      fil: {
        boardroomLaunchesAt: null,//new Date('2021-04-30T00:00:00Z'),
        lpPair: 'HFIL/sCASH',
        lp: 1000000,
        lpLabel: '1M',
      },
      dot: {
        boardroomLaunchesAt: null,//new Date('2021-05-10T00:00:00Z'),
        lpPair: 'HDOT/sCASH',
        lp: 1000000,
        lpLabel: '1M',
      }
    },
    mdexUrl: 'https://ht.mdex.com/',
    lavaUrl: 'https://exchange.lavaswap.com/',
    walletTokens: ['sCASH', 'SHARE', 'sHT', 'sNEO', 'sFILDA', 'sNULS', 'sCAN', 'sFLM', 'sSHARE', 'vSHARE', 'sMDX'],
    boardroomRatioMin : 1.05,
    baseLaunchDate: new Date('2021-02-19T00:00:00Z'),
    congressLaunchesAt: new Date('2021-04-02T08:00:00Z'),
    refreshInterval: 30000,
    gasLimitMultiplier: 1.7,
  },
  production: {
    chainId: 128,
    etherscanUrl: 'https://hecoinfo.com',
    defaultProvider: ['https://http-mainnet.hecochain.com', 'https://http-mainnet.hecochain.com', 'https://heconode.ifoobar.com', 'https://heconode.ifoobar.com', 'https://http-mainnet-node.huobichain.com', 'https://http-mainnet-node.defibox.com'],
    deployments: require('./basis-cash/deployments/deployments.heco.json'),
    externalTokens: {
      //fishnft
      YNC:["0x09143f7448ca4F5b984E7F6F32E265d1DFe1d7f7",18],// Ync地址
      NYC:["0xeBC336c6EAf9dCa34A9c0C2d0F6d968FaAE71E31",18],// nyc地址
      NYCT:["0xeA5400526A900132451dE9ED6Cffd6cdc1Fb1046",18],// nycnft
      // lp
      YNC_USDT_LP:["0x2b301b0b3ad0ffbbbeff71f99d1f94a918933cbb",18], //yncLp地址
      NYC_USDT_LP:["0x07753f40f8f22c4519886274356690392de45623",18],
      USDT:  ['0xa71edc38d189767582c38a3145b5873052c3e47a', 18],
      HUSD:  ['0x0298c2b32eae4da002a15f36fdf7615bea3da047', 8],
      HBTC:  ['0x66a79d23e58475d2738179ca52cd0b41d73f0bea', 18],
      wETH:  ['0x64ff637fb478863b7468bc97d30a5bf3a428a1fd', 18],
      wHT:   ['0x5545153ccfca01fbd7dd11c0b23ba694d9509a6f', 18],
      pNEO:  ['0x6514a5ebff7944099591ae3e8a5c0979c83b2571', 8],
      HFIL:  ['0xae3a768f9ab104c69a7cd6041fe16ffa235d1810', 18],
      HDOT:  ['0xa2c49cee16a5e5bdefde931107dc1fae9f7773e3', 18],
      HLTC:  ['0xecb56cf772b5c9a6907fb7d32387da2fcbfb63b4', 18],
      BAG:   ['0xa042fb0e60125a4022670014ac121931e7501af4', 18],
      fHUSD: ['0xB16Df14C53C4bcfF220F4314ebCe70183dD804c0', 18],
      fUSDT: ['0xAab0C9561D5703e84867670Ac78f6b5b4b40A7c1', 18],
      fHBTC: ['0xF2a308d3Aea9bD16799A5984E20FDBfEf6c3F595', 18],
      fETH:  ['0x033F8C30bb17B47f6f1f46F3A42Cc9771CCbCAAE', 18],
      fHT:   ['0x824151251B38056d54A15E56B73c54ba44811aF8', 18],
      fNEO:  ['0x92701DA6A28Ca70aA5Dfca2B8Ae2b4B8a22a0C11', 18],
      fHFIL: ['0x043aFB65e93500CE5BCbf5Bbb41FC1fDcE2B7518', 18],
      fHDOT: ['0xCca471B0d49c0d4835a5172Fd97ddDEA5C979100', 18],
      fHLTC: ['0x4937A83Dc1Fa982e435aeB0dB33C90937d54E424', 18],
      Filda: ['0xe36ffd17b2661eb57144ceaef942d95295e637f0', 18],
      FILDA: ['0xe36ffd17b2661eb57144ceaef942d95295e637f0', 18],
      LAVA: ['0x56f95662e71f30b333b456439248c6de589082a4', 18],
      MDX: ['0x25d2e80cb6b86881fd7e07dd263fb79f4abe033c',  18],

      SHARE:  ['0x41198c6736d23734E6d17a6F0B4f2D15d2621A3a',  18],
      sCASH:  ['0xb6ccFA7Ef3a295932536E0988CffD85228cB177c',  18],


      sCASH_HUSD_LP:  ['0x29471983b759Ccb802f486244B26A7c7dce8b7B5', 18, 100/3],
      SHARE_HUSD_LP:  ['0xb1188f0bb3eb9a49C0bfcFA87238773352C151C4', 18, 25/3],
      sCASH_USDT_LP:  ['0x454058df2d7ffB8A845Bf884a30D0391166144E7', 18, 100/3],
      SHARE_USDT_LP:  ['0xF61e00443FF42371b9efC4434a610F6e7C0C84aA', 18, 25/3],
      sCASH_SHARE_LP: ['0xfD8E7B365575E7abAA9Cf8F4C205bd8534346878', 18],
      Fund: ['0xAB1B709667ef9869d6287542aaF720D32330E07a',  18],
      TPT: ['0x9ef1918a9bee17054b35108bd3e2665e2af1bb1b', 4],

      LHB: ['0x8f67854497218043e1f72908ffe38d0ed7f24721',  18],
      HBO: ['0x8764bd4fcc027faf72ba83c0b2028a3bae0d2d57',  18],
      NULS: ['0xd938e45680da19ad36646ae8d4c671b2b1270f39',  8],
      sHT: ['0xbBe6C2337a2543239FF313Bed370e4eAEda268eF', 18],
      sHT_wHT_LP: ['0xfccF5ec779dd3F4e3191668B6363B859f5B93D1A', 18, 125/3],
      sHT_USDT_LP: ['0x288C912F299D32F96092c964B5800aF34f88983C', 18, 125/12],
      sHT_sCASH_LP: ['0xa9d3c73F2c32b7640B26dF2224C4572E27c674Ea', 18, 125/12],
      SHARE_wHT_LP: ['0x053C952a219796FA492992D73bD26ec5C2f2eCDf', 18, 125/6],
      sHT_SHARE_LP: ['0x8898Ca698e7D8f58E4F9c992d2404dcc21c15805', 18],

      sNEO: ['0x2f92C6e8ed836B5d507251b59d816A55F1B853cC', 18],
      pFLM: ['0xa0e910ce120d6220ceb3ad0000dbb4843eb912f5', 8],
      pSWTH: ['0x14127C943752d265B21D6963F8576A05c5c8e59c', 8],
      sNEO_pNEO_LP: ['0x30A84c086b73b314a78544153151B7229e1fF26D', 18, (5000/4)/30],
      sNEO_USDT_LP: ['0x94422Af836A521Ce6fd80baB4a0447981B605CbC', 18, (1250/4)/30],
      sNEO_sCASH_LP: ['0x2988d6f7800417EE6F447f25c45F20D0547Be303', 18, (1250/4)/30],
      SHARE_pNEO_LP: ['0xc28339d1cBd9BB47967160D7029015F18C33BA7c', 18, (2500/4)/30],
      sNEO_SHARE_LP: ['0x6860ebA8bB7Bd2B650C62AB5D17886C201f70b32', 18],

      sFILDA:  ['0xb813b811967a77e30B3B1582A578753520C2a4d0',  18],
      sCAN:  ['0x22BAD5077579e4437927Bc4394a6B5435df5f39F',  18],
      sNULS:  ['0x9812C79099418486838a218037D49b2f823F120c',  18],
      sHT_Filda_LP: ['0x182ef3e29d12d6588e3ee27483dafd5994403b3f', 18],
      sHT_CAN_LP: ['0x090D5d9A907064E60EE232Ac1C76d00dF6D90CD9', 18],
      sCASH_NULS_LP: ['0xAf22139E37798E4d2Db60bf2cd1Ba79056986B2e', 18],
      sNEO_pFLM_LP: ['0xC576CdD1b8eaeE11cBAd3a425d854471E3FA83C6', 18],
      CAN: ['0x1e6395e6b059fc97a4dda925b6c5ebf19e05c69f', 18],
      sFLM: ['0xc9269B837613ffB0ae04123b410A4A0E59402932', 18],

      sFILDA_FILDA_LP: ['0x214306CeaFEff05041D90946755D3a4deb6958d2', 18],
      FILDA_sHT_LP: ['0x182EF3e29D12D6588E3EE27483dAfD5994403B3f', 18],
      SHARE_FILDA_LP: ['0xE7d0bdeA93cE492A29c809dB9E79E966C94e4eb4', 18],
      sFILDA_SHARE_LP: ['0x20560AB473334FabFF3Bff7E806fdf7dc913598B', 18],

      FIX: ['0xde9495de889996404b14ddbf05f66db7401f0733', 18],
      SOVI: ['0x49e16563a2ba84e560780946f0fb73a8b32c841e', 18],
      HPT: ['0xe499ef4616993730ced0f31fa2703b92b50bb536', 18],
      fELA: ['0x0AD0bee939E00C54f57f21FBec0fBa3cDA7DEF58', 18],
      fMDX: ['0x5788c014d41ca706de03969e283ee7b93827b7b1', 18],
      ELA: ['0xa1ecfc2bec06e4b43ddd423b94fef84d0dbc8f5c', 18],
      sSHARE: ['0x9019CA43C7f6de0C87483EfA9c1Ba65A369F22e4', 18],

      BEE: ['0xb1f80844a1b84c61ab80cafd88b1f8c09f9342e1', 8],
      EDC: ['0x68a0a1fef18dfcc422db8be6f0f486dea1999edc', 9],
      SWFTC: ['0x329dda64cbc4dfd5fa5072b447b3941ce054ebb3', 8],
      DATT: ['0x018619e9740466da2146fd2528d1351824ca98b1', 18],
      ARCH: ['0xfB6f575FdD24c17Ea5F19892c82C9eA878400a2a', 10],
      GOBLIN: ['0xe66bfdfc19c8b4caa76b18022c40c45beee22294', 8],
      NVT: ['0xf0e406c49c63abf358030a299c0e00118c4c6ba5', 8],

      sNULS_NULS_LP: ['0x367B03ee87d2cc3f24cbdBc78B3875516DfbCBF2', 18],
      SHARE_NULS_LP: ['0xf5689478a56fDE14802401fd41124d8EAb9e3340', 18],
      sNULS_SHARE_LP: ['0xc3573A79aa0aEbdF5a3d15edEF4799F4a126717b', 18],

      vSHARE: ['0xFd981d07CD2cBe039D5A7Ab246C0C92F8ED4FEA8', 18],

      sMDX: ['0x46914A848405fd79a0B937F388936C9798bF6eAC', 18],
      sHT_MDX_LP: ['0x7d4c254E6bE63ff4508C545eC6Ce10a392958B3e', 18],

      SHARE_USDT_LAVA_LP: ['0xa83f4570556438e38979e868702b53643888a79f', 18],
    },
    group: 'neo',
    spConfigs: {
      'sCASH': 'USDT',
      'sHT': 'wHT',
      'sNEO': 'pNEO',
      'sFILDA': 'Filda',
      'sNULS': 'NULS',
      'sCAN': 'CAN',
      'sFLM': 'pFLM',
      'sMDX': 'MDX',
    },
    plane: {
      cash: {
        boardroomLaunchesAt: new Date('2021-03-01T00:00:00Z'),
        bankStartAt: new Date('2021-03-01T00:00:00Z'),
        bankEndAt: new Date('2021-03-01T00:00:00Z'),
        blackHoleStartAt: new Date('2021-03-01T00:00:00Z'),
        blackHoleEndAt: new Date('2021-03-01T00:00:00Z'),
        oracle: 'sCASH_USDT_oracle',
        lp2: true,
      },
      ht: {
        boardroomLaunchesAt: new Date('2021-03-11T08:00:00Z'),
        bankStartAt: new Date('2021-03-06T08:00:00Z'),
        bankEndAt: new Date('2021-03-11T08:00:00Z'),
        blackHoleStartAt: new Date('2021-03-06T08:00:00Z'),
        blackHoleEndAt: new Date('2021-03-11T08:00:00Z'),
        oracle: 'sHT_wHT_oracle',
      },
      neo: {
        boardroomLaunchesAt: new Date('2021-03-20T08:00:00Z'),
        bankStartAt: new Date('2021-03-15T08:00:00Z'),
        bankEndAt: new Date('2021-03-20T08:00:00Z'),
        blackHoleStartAt: new Date('2021-03-15T08:00:00Z'),
        blackHoleEndAt: new Date('2021-03-20T08:00:00Z'),
        oracle: 'sNEO_pNEO_oracle',
      },
      mdx: {
        boardroomLaunchesAt: null,
        lpPair: 'MDX/sHT',
        lp: 1000000,
        lpLabel: '1M',
        lpOracle: 'sHT_MDX_LOracle',
        lpContract: 'sHT_MDX_LP',
        bankStartAt: new Date('2021-04-15T08:00:00Z'),
        bankEndAt: new Date('2021-04-20T08:00:00Z'),
        blackHoleStartAt: null,
        blackHoleEndAt: null,
        oracle: null,
        lp2: true,
      },
      filda: {
        boardroomLaunchesAt: new Date('2021-04-01T08:00:00Z'),
        lpPair: 'Filda/sHT',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sHT_Filda_LOracle',
        lpContract: 'sHT_Filda_LP',
        bankStartAt: new Date('2021-03-31T08:00:00Z'),
        bankEndAt: new Date('2021-04-05T08:00:00Z'),
        blackHoleStartAt: new Date('2021-03-31T08:00:00Z'),
        blackHoleEndAt: new Date('2021-04-01T08:00:00Z'),
        oracle: 'sFILDA_FILDA_oracle',
        lp2: true,
      },
      nuls: {
        boardroomLaunchesAt: new Date('2021-04-07T08:00:00Z'),
        lpPair: 'NULS/sCASH',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sCASH_NULS_LOracle',
        lpContract: 'sCASH_NULS_LP',
        bankStartAt: new Date('2021-04-02T08:00:00Z'),
        bankEndAt: new Date('2021-04-07T08:00:00Z'),
        blackHoleStartAt: new Date('2021-04-02T08:00:00Z'),
        blackHoleEndAt: new Date('2021-04-03T08:00:00Z'),
        oracle: 'sNULS_NULS_oracle',
        lp2: true,
      },
      can: {
        boardroomLaunchesAt: null,//new Date('2021-04-20T00:00:00Z'),
        lpPair: 'CAN/sHT',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sHT_CAN_LOracle',
        lpContract: 'sHT_CAN_LP',
      },
      flm: {
        boardroomLaunchesAt: null,//new Date('2021-04-20T00:00:00Z'),
        lpPair: 'pFLM/sNEO',
        lp: 500000,
        lpLabel: '500K',
        lpOracle: 'sNEO_pFLM_LOracle',
        lpContract: 'sNEO_pFLM_LP',
      },
      eth: {
        boardroomLaunchesAt: null,//new Date('2021-03-31T00:00:00Z'),
        sCASH: 2100000,
      },
      btc: {
        boardroomLaunchesAt: null,//new Date('2021-04-10T00:00:00Z'),
        sCASH: 21000000,
      },
      fil: {
        boardroomLaunchesAt: null,//new Date('2021-04-30T00:00:00Z'),
        lpPair: 'HFIL/sCASH',
        lp: 1000000,
        lpLabel: '1M',
      },
      dot: {
        boardroomLaunchesAt: null,//new Date('2021-05-10T00:00:00Z'),
        lpPair: 'HDOT/sCASH',
        lp: 1000000,
        lpLabel: '1M',
      }
    },
    mdexUrl: 'https://ht.mdex.com/',
    lavaUrl: 'https://exchange.lavaswap.com/',
    walletTokens: ['sCASH', 'SHARE', 'sHT', 'sNEO', 'sFILDA', 'sNULS', 'sCAN', 'sFLM', 'sSHARE', 'vSHARE', 'sMDX'],
    boardroomRatioMin : 1.05,
    baseLaunchDate: new Date('2021-02-19T00:00:00Z'),
    congressLaunchesAt: new Date('2021-04-02T08:00:00Z'),
    refreshInterval: 30000,
    gasLimitMultiplier: 1.7,
  },
  // production: {
  //   chainId: 128,
  //   etherscanUrl: 'https://hecoinfo.com',
  //   defaultProvider: 'https://http-mainnet-node.huobichain.com',
  //   deployments: require('./basis-cash/deployments/deployments.mainnet.json'),
  // },
};

export const bankDefinitions: { [contractName: string]: BankInfo } = {
  //sCash------------------------------------
  sCASH_USDT_lp_pool: {
    name: '存入 sCASH_USDT_LP 赚取 SHARE',
    contract: 'sCASH_USDT_lp_pool',
    depositTokenName: 'sCASH_USDT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'cash',
    sort: 1,
  },
  sCASH_HUSD_lp_pool: {
    name: 'Earn SHARE by sCASH_HUSD_LP',
    contract: 'sCASH_HUSD_lp_pool',
    depositTokenName: 'sCASH_HUSD_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'cash',
    sort: 2,
  },
  SHARE_USDT_lp_pool: {
    name: '存入 SHARE_USDT_LP 赚取 SHARE',
    contract: 'SHARE_USDT_lp_pool',
    depositTokenName: 'SHARE_USDT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'cash',
    sort: 3,
  },
  SHARE_HUSD_lp_pool: {
    name: 'Earn SHARE by SHARE_HUSD_LP',
    contract: 'SHARE_HUSD_lp_pool',
    depositTokenName: 'SHARE_HUSD_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'cash',
    sort: 4,
  },
  LavaPool_SHARE: {
    name: 'Earn SHARE and LAVA by SHARE_USDT_LP',
    contract: 'LavaPool_SHARE',
    depositTokenName: 'SHARE_USDT_LAVA_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'cash',
    sort: 4,
  },

  sCASH_USDT_pool: {
    name: '存入 USDT 赚取 sCASH ',
    contract: 'sCASH_USDT_pool',
    depositTokenName: 'USDT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 5,
  },

  sCASH_HUSD_pool: {
    name: '存入 HUSD 赚取 sCASH ',
    contract: 'sCASH_HUSD_pool',
    depositTokenName: 'HUSD',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 6,
  },

  sCASH_wHT_pool: {
    name: '存入 wHT 赚取 sCASH ',
    contract: 'sCASH_wHT_pool',
    depositTokenName: 'wHT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 7,
  },

  sCASH_pNEO_pool: {
    name: '存入 pNEO 赚取 sCASH',
    contract: 'sCASH_pNEO_pool',
    depositTokenName: 'pNEO',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 8,
  },

  sCASH_wETH_pool: {
    name: '存入 wETH 赚取 sCASH',
    contract: 'sCASH_wETH_pool',
    depositTokenName: 'wETH',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 9,
  },


  sCASH_HBTC_pool: {
    name: '存入 HBTC 赚取 sCASH',
    contract: 'sCASH_HBTC_pool',
    depositTokenName: 'HBTC',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 10,
  },

  sCASH_HDOT_pool: {
    name: '存入 HDOT 赚取 sCASH',
    contract: 'sCASH_HDOT_pool',
    depositTokenName: 'HDOT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 11,
  },

  sCASH_HFIL_pool: {
    name: '存入 HFIL 赚取 sCASH',
    contract: 'sCASH_HFIL_pool',
    depositTokenName: 'HFIL',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 12,
  },

  sCASH_HLTC_pool: {
    name: 'Earn sCASH by HLTC',
    contract: 'sCASH_HLTC_pool',
    depositTokenName: 'HLTC',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 13,
  },

  sCASH_BAG_pool: {
    name: 'Earn sCASH by BAG',
    contract: 'sCASH_BAG_pool',
    depositTokenName: 'BAG',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 14,
  },

  sCASH_TPT_pool: {
    name: 'Earn sCASH by TPT',
    contract: 'sCASH_TPT_pool',
    depositTokenName: 'TPT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 14,
  },

//ftoken stake
  sCASH_fUSDT_pool: {
    name: '存入 fUSDT 赚取 sCASH',
    contract: 'sCASH_fUSDT_pool',
    depositTokenName: 'fUSDT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 15,
  },
  sCASH_fHUSD_pool: {
    name: '存入 fHUSD 赚取 sCASH',
    contract: 'sCASH_fHUSD_pool',
    depositTokenName: 'fHUSD',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 16,
  },
  sCASH_fHT_pool: {
    name: '存入 fHT 赚取 sCASH',
    contract: 'sCASH_fHT_pool',
    depositTokenName: 'fHT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 17,
  },
  sCASH_fpNEO_pool: {
    name: '存入 fNEO 赚取 sCASH',
    contract: 'sCASH_fNEO_pool',
    depositTokenName: 'fNEO',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 18,
  },
  sCASH_fETH_pool: {
    name: '存入 fETH 赚取 sCASH',
    contract: 'sCASH_fETH_pool',
    depositTokenName: 'fETH',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 19,
  },
  sCASH_fHBTC_pool: {
    name: '存入 fHBTC 赚取 sCASH',
    contract: 'sCASH_fHBTC_pool',
    depositTokenName: 'fHBTC',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 20,
  },
  sCASH_fHDOT_pool: {
    name: '存入 fHDOT 赚取 sCASH',
    contract: 'sCASH_fHDOT_pool',
    depositTokenName: 'fHDOT',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 21,
  },
  sCASH_fHFIL_pool: {
    name: '存入 fHFIL 赚取 sCASH',
    contract: 'sCASH_fHFIL_pool',
    depositTokenName: 'fHFIL',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 22,
  },
  sCASH_fHLTC_pool: {
    name: '存入 fHLTC 赚取 sCASH',
    contract: 'sCASH_fHLTC_pool',
    depositTokenName: 'fHLTC',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 23,
  },
  sCASH_Filda_pool: {
    name: '存入 Filda 赚取 sCASH',
    contract: 'sCASH_Filda_pool',
    depositTokenName: 'Filda',
    earnTokenName: 'sCASH',
    finished: false,
    group: 'cash',
    sort: 24,
  },


  //sHt------------------------------------
  sHT_wHT_lp_pool: {
    name: 'Earn SHARE by sHT_wHT_LP',
    contract: 'sHT_wHT_lp_pool',
    depositTokenName: 'sHT_wHT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'ht',
    sort: 1,
  },
  sHT_USDT_lp_pool: {
    name: 'Earn SHARE by sHT_USDT_LP',
    contract: 'sHT_USDT_lp_pool',
    depositTokenName: 'sHT_USDT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'ht',
    sort: 2,
  },
  sHT_sCASH_lp_pool: {
    name: 'Earn SHARE by sHT_sCASH_LP',
    contract: 'sHT_sCASH_lp_pool',
    depositTokenName: 'sHT_sCASH_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'ht',
    sort: 3,
  },
  SHARE_wHT_lp_pool: {
    name: 'Earn SHARE by SHARE_wHT_LP',
    contract: 'SHARE_wHT_lp_pool',
    depositTokenName: 'SHARE_wHT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'ht',
    sort: 4,
  },

  sHT_wHT_pool: {
    name: 'Earn sHT by wHT',
    contract: 'sHT_wHT_pool',
    depositTokenName: 'wHT',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 5,
  },

  sHT_Filda_pool: {
    name: 'Earn sHT by Filda',
    contract: 'sHT_Filda_pool',
    depositTokenName: 'Filda',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 6,
  },

  sHT_pNEO_pool: {
    name: 'Earn sHT by pNEO',
    contract: 'sHT_pNEO_pool',
    depositTokenName: 'pNEO',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 7,
  },

  sHT_MDX_pool: {
    name: 'Earn sHT by MDX',
    contract: 'sHT_MDX_pool',
    depositTokenName: 'MDX',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 8,
  },

  sHT_LHB_pool: {
    name: 'Earn sHT by LHB',
    contract: 'sHT_LHB_pool',
    depositTokenName: 'LHB',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 9,
  },


  sHT_BAG_pool: {
    name: 'Earn sHT by BAG',
    contract: 'sHT_BAG_pool',
    depositTokenName: 'BAG',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 10,
  },

  sHT_HBO_pool: {
    name: 'Earn sHT by HBO',
    contract: 'sHT_HBO_pool',
    depositTokenName: 'HBO',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 11,
  },

  sHT_sCASH_pool: {
    name: 'Earn sHT by sCASH',
    contract: 'sHT_sCASH_pool',
    depositTokenName: 'sCASH',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 12,
  },

  sHT_TPT_pool: {
    name: 'Earn sHT by TPT',
    contract: 'sHT_TPT_pool',
    depositTokenName: 'TPT',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 13,
  },

  sHT_NULS_pool: {
    name: 'Earn sHT by NULS',
    contract: 'sHT_NULS_pool',
    depositTokenName: 'NULS',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 14,
  },


  //ftoken stake
  sHT_fUSDT_pool: {
    name: 'Earn sHT by fUSDT',
    contract: 'sHT_fUSDT_pool',
    depositTokenName: 'fUSDT',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 15,
  },
  sHT_fHUSD_pool: {
    name: 'Earn sHT by fHUSD',
    contract: 'sHT_fHUSD_pool',
    depositTokenName: 'fHUSD',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 16,
  },
  sHT_fETH_pool: {
    name: 'Earn sHT by fETH',
    contract: 'sHT_fETH_pool',
    depositTokenName: 'fETH',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 17,
  },
  sHT_fHBTC_pool: {
    name: 'Earn sHT by fHBTC',
    contract: 'sHT_fHBTC_pool',
    depositTokenName: 'fHBTC',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 18,
  },
  sHT_fHDOT_pool: {
    name: 'Earn sHT by fHDOT',
    contract: 'sHT_fHDOT_pool',
    depositTokenName: 'fHDOT',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 19,
  },
  sHT_fHFIL_pool: {
    name: 'Earn sHT by fHFIL',
    contract: 'sHT_fHFIL_pool',
    depositTokenName: 'fHFIL',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 20,
  },
  sHT_fHLTC_pool: {
    name: 'Earn sHT by fHLTC',
    contract: 'sHT_fHLTC_pool',
    depositTokenName: 'fHLTC',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 21,
  },
  sHT_fHT_pool: {
    name: 'Earn sHT by fHT',
    contract: 'sHT_fHT_pool',
    depositTokenName: 'fHT',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 22,
  },
  sHT_fNEO_pool: {
    name: 'Earn sHT by fNEO',
    contract: 'sHT_fNEO_pool',
    depositTokenName: 'fNEO',
    earnTokenName: 'sHT',
    finished: false,
    group: 'ht',
    sort: 23,
  },

  //sNeo------------------------------------
  sNEO_pNEO_lp_pool: {
    name: 'Earn SHARE by sNEO_pNEO_LP',
    contract: 'sNEO_pNEO_lp_pool',
    depositTokenName: 'sNEO_pNEO_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'neo',
    sort: 1,
  },
  sNEO_USDT_lp_pool: {
    name: 'Earn SHARE by sNEO_USDT_LP',
    contract: 'sNEO_USDT_lp_pool',
    depositTokenName: 'sNEO_USDT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'neo',
    sort: 2,
  },
  sNEO_sCASH_lp_pool: {
    name: 'Earn SHARE by sNEO_sCASH_LP',
    contract: 'sNEO_sCASH_lp_pool',
    depositTokenName: 'sNEO_sCASH_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'neo',
    sort: 3,
  },
  SHARE_pNEO_lp_pool: {
    name: 'Earn SHARE by SHARE_pNEO_LP',
    contract: 'SHARE_pNEO_lp_pool',
    depositTokenName: 'SHARE_pNEO_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'neo',
    sort: 4,
  },

  sNEO_pNEO_pool: {
    name: 'Earn sNEO by pNEO',
    contract: 'sNEO_pNEO_pool',
    depositTokenName: 'pNEO',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 5,
  },
  sNEO_pFLM_pool: {
    name: 'Earn sNEO by pFLM',
    contract: 'sNEO_pFLM_pool',
    depositTokenName: 'pFLM',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 6,
  },
  sNEO_pSWTH_pool: {
    name: 'Earn sNEO by pSWTH',
    contract: 'sNEO_pSWTH_pool',
    depositTokenName: 'pSWTH',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 7,
  },
  sNEO_sCASH_pool: {
    name: 'Earn sNEO by sCASH',
    contract: 'sNEO_sCASH_pool',
    depositTokenName: 'sCASH',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 8,
  },
  sNEO_HBTC_pool: {
    name: 'Earn sNEO by HBTC',
    contract: 'sNEO_HBTC_pool',
    depositTokenName: 'HBTC',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 9,
  },

  sNEO_wETH_pool: {
    name: 'Earn sNEO by wETH',
    contract: 'sNEO_wETH_pool',
    depositTokenName: 'wETH',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 10,
  },

  sNEO_Filda_pool: {
    name: 'Earn sNEO by Filda',
    contract: 'sNEO_Filda_pool',
    depositTokenName: 'Filda',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 11,
  },

  sNEO_HUSD_pool: {
    name: 'Earn sNEO by HUSD',
    contract: 'sNEO_HUSD_pool',
    depositTokenName: 'HUSD',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 12,
  },

  sNEO_USDT_pool: {
    name: 'Earn sNEO by USDT',
    contract: 'sNEO_USDT_pool',
    depositTokenName: 'USDT',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 13,
  },


  sNEO_wHT_pool: {
    name: 'Earn sNEO by wHT',
    contract: 'sNEO_wHT_pool',
    depositTokenName: 'wHT',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 14,
  },

  sNEO_sHT_pool: {
    name: 'Earn sNEO by sHT',
    contract: 'sNEO_sHT_pool',
    depositTokenName: 'sHT',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 14,
  },

  sNEO_TPT_pool: {
    name: 'Earn sNEO by TPT',
    contract: 'sNEO_TPT_pool',
    depositTokenName: 'TPT',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 14,
  },

  sNEO_MDX_pool: {
    name: 'Earn sNEO by MDX',
    contract: 'sNEO_MDX_pool',
    depositTokenName: 'MDX',
    earnTokenName: 'sNEO',
    finished: false,
    group: 'neo',
    sort: 14,
  },


  //sFILDA=================================================
  sFILDA_QPool: {
    name: 'Earn sFILDA by sHT_Filda_LP',
    contract: 'sFILDA_QPool',
    depositTokenName: 'sHT_Filda_LP',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 0,
  },
  sFILDA_FILDA_qlp2_pool: {
    name: 'Earn SHARE by sFILDA_FILDA_LP',
    contract: 'sFILDA_FILDA_qlp2_pool',
    depositTokenName: 'sFILDA_FILDA_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'filda',
    sort: 1,
  },
  FILDA_sHT_qlp2_pool: {
    name: 'Earn SHARE by FILDA_sHT_LP',
    contract: 'FILDA_sHT_qlp2_pool',
    depositTokenName: 'FILDA_sHT_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'filda',
    sort: 2,
  },
  SHARE_FILDA_qlp2_pool: {
    name: 'Earn SHARE by SHARE_FILDA_LP',
    contract: 'SHARE_FILDA_qlp2_pool',
    depositTokenName: 'SHARE_FILDA_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'filda',
    sort: 3,
  },

  sFILDA_FILDA_pool: {
    name: 'Earn sFILDA by FILDA',
    contract: 'sFILDA_FILDA_pool',
    depositTokenName: 'FILDA',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 5,
  },
  sFILDA_sCASH_pool: {
    name: 'Earn sFILDA by sCASH',
    contract: 'sFILDA_sCASH_pool',
    depositTokenName: 'sCASH',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 6,
  },
  sFILDA_sHT_pool: {
    name: 'Earn sFILDA by sHT',
    contract: 'sFILDA_sHT_pool',
    depositTokenName: 'sHT',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 7,
  },
  sFILDA_sNEO_pool: {
    name: 'Earn sFILDA by sNEO',
    contract: 'sFILDA_sNEO_pool',
    depositTokenName: 'sNEO',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 8,
  },
  sFILDA_LAVA_pool: {
    name: 'Earn sFILDA by LAVA',
    contract: 'sFILDA_LAVA_pool',
    depositTokenName: 'LAVA',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 9,
  },
  sFILDA_FIX_pool: {
    name: 'Earn sFILDA by FIX',
    contract: 'sFILDA_FIX_pool',
    depositTokenName: 'FIX',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 10,
  },
  sFILDA_SOVI_pool: {
    name: 'Earn sFILDA by SOVI',
    contract: 'sFILDA_SOVI_pool',
    depositTokenName: 'SOVI',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 11,
  },
  sFILDA_TPT_pool: {
    name: 'Earn sFILDA by TPT',
    contract: 'sFILDA_TPT_pool',
    depositTokenName: 'TPT',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 12,
  },
  sFILDA_NULS_pool: {
    name: 'Earn sFILDA by NULS',
    contract: 'sFILDA_NULS_pool',
    depositTokenName: 'NULS',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 13,
  },
  sFILDA_HPT_pool: {
    name: 'Earn sFILDA by HPT',
    contract: 'sFILDA_HPT_pool',
    depositTokenName: 'HPT',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 14,
  },

  //ftoken stake
  sFILDA_fUSDT_fpool: {
    name: 'Earn sFILDA by fUSDT',
    contract: 'sFILDA_fUSDT_fpool',
    depositTokenName: 'fUSDT',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 15,
  },
  sFILDA_fHUSD_fpool: {
    name: 'Earn sFILDA by fHUSD',
    contract: 'sFILDA_fHUSD_fpool',
    depositTokenName: 'fHUSD',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 16,
  },
  sFILDA_fHT_fpool: {
    name: 'Earn sFILDA by fHT',
    contract: 'sFILDA_fHT_fpool',
    depositTokenName: 'fHT',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 17,
  },
  sFILDA_fMDX_fpool: {
    name: 'Earn sFILDA by fMDX',
    contract: 'sFILDA_fMDX_fpool',
    depositTokenName: 'fMDX',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 18,
  },
  sFILDA_fHBTC_fpool: {
    name: 'Earn sFILDA by fHBTC',
    contract: 'sFILDA_fHBTC_fpool',
    depositTokenName: 'fHBTC',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 19,
  },
  sFILDA_fELA_fpool: {
    name: 'Earn sFILDA by fELA',
    contract: 'sFILDA_fELA_fpool',
    depositTokenName: 'fELA',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 20,
  },
  sFILDA_fETH_fpool: {
    name: 'Earn sFILDA by fETH',
    contract: 'sFILDA_fETH_fpool',
    depositTokenName: 'fETH',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 21,
  },
  sFILDA_fHDOT_fpool: {
    name: 'Earn sFILDA by fHDOT',
    contract: 'sFILDA_fHDOT_fpool',
    depositTokenName: 'fHDOT',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 22,
  },
  sFILDA_fHFIL_fpool: {
    name: 'Earn sFILDA by fHFIL',
    contract: 'sFILDA_fHFIL_fpool',
    depositTokenName: 'fHFIL',
    earnTokenName: 'sFILDA',
    finished: false,
    group: 'filda',
    sort: 23,
  },

  //sCAN=============================================
  sCAN_QPool: {
    name: 'Earn sCAN by sHT_CAN_LP',
    contract: 'sCAN_QPool',
    depositTokenName: 'sHT_CAN_LP',
    earnTokenName: 'sCAN',
    finished: false,
    group: 'can',
    sort: 0,
  },

  //sNULS
  sNULS_QPool: {
    name: 'Earn sNULS by sCASH_NULS_LP',
    contract: 'sNULS_QPool',
    depositTokenName: 'sCASH_NULS_LP',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 0,
  },

  sNULS_NULS_qlp2_pool: {
    name: 'Earn SHARE by sNULS_NULS_LP',
    contract: 'sNULS_NULS_qlp2_pool',
    depositTokenName: 'sNULS_NULS_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'nuls',
    sort: 1,
  },
  sCASH_NULS_qlp2_pool: {
    name: 'Earn SHARE by sCASH_NULS_LP',
    contract: 'sCASH_NULS_qlp2_pool',
    depositTokenName: 'sCASH_NULS_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'nuls',
    sort: 2,
  },
  SHARE_NULS_qlp2_pool: {
    name: 'Earn SHARE by SHARE_NULS_LP',
    contract: 'SHARE_NULS_qlp2_pool',
    depositTokenName: 'SHARE_NULS_LP',
    earnTokenName: 'SHARE',
    finished: false,
    group: 'nuls',
    sort: 3,
  },

  sNULS_MDX_pool: {
    name: 'Earn sNULS by MDX',
    contract: 'sNULS_MDX_pool',
    depositTokenName: 'MDX',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 5,
  },
  sNULS_BEE_pool: {
    name: 'Earn sNULS by BEE',
    contract: 'sNULS_BEE_pool',
    depositTokenName: 'BEE',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 6,
  },
  sNULS_EDC_pool: {
    name: 'Earn sNULS by EDC',
    contract: 'sNULS_EDC_pool',
    depositTokenName: 'EDC',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 7,
  },
  sNULS_FILDA_pool: {
    name: 'Earn sNULS by FILDA',
    contract: 'sNULS_FILDA_pool',
    depositTokenName: 'FILDA',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 8,
  },
  sNULS_CAN_pool: {
    name: 'Earn sNULS by CAN',
    contract: 'sNULS_CAN_pool',
    depositTokenName: 'CAN',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 9,
  },
  sNULS_TPT_pool: {
    name: 'Earn sNULS by TPT',
    contract: 'sNULS_TPT_pool',
    depositTokenName: 'TPT',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 10,
  },
  sNULS_SWFTC_pool: {
    name: 'Earn sNULS by SWFTC',
    contract: 'sNULS_SWFTC_pool',
    depositTokenName: 'SWFTC',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 11,
  },
  sNULS_sCASH_pool: {
    name: 'Earn sNULS by sCASH',
    contract: 'sNULS_sCASH_pool',
    depositTokenName: 'sCASH',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 12,
  },
  sNULS_DATT_pool: {
    name: 'Earn sNULS by DATT',
    contract: 'sNULS_DATT_pool',
    depositTokenName: 'DATT',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 13,
  },
  sNULS_ARCH_pool: {
    name: 'Earn sNULS by ARCH',
    contract: 'sNULS_ARCH_pool',
    depositTokenName: 'ARCH',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 14,
  },
  sNULS_GOBLIN_pool: {
    name: 'Earn sNULS by GOBLIN',
    contract: 'sNULS_GOBLIN_pool',
    depositTokenName: 'GOBLIN',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 14,
  },
  sNULS_NVT_pool: {
    name: 'Earn sNULS by NVT',
    contract: 'sNULS_NVT_pool',
    depositTokenName: 'NVT',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 14,
  },
  sNULS_NULS_pool: {
    name: 'Earn sNULS by NULS',
    contract: 'sNULS_NULS_pool',
    depositTokenName: 'NULS',
    earnTokenName: 'sNULS',
    finished: false,
    group: 'nuls',
    sort: 14,
  },

  //sFLM
  sFLM_QPool: {
    name: 'Earn sFLM by sNEO_pFLM_LP',
    contract: 'sFLM_QPool',
    depositTokenName: 'sNEO_pFLM_LP',
    earnTokenName: 'sFLM',
    finished: false,
    group: 'flm',
    sort: 0,
  },

  //sMDX=============================================
  sMDX_QPool: {
    name: 'Earn sMDX by sHT_MDX_LP',
    contract: 'sMDX_QPool',
    depositTokenName: 'sHT_MDX_LP',
    earnTokenName: 'sMDX',
    finished: false,
    group: 'mdx',
    sort: 0,
  },
};



export const blackholeDefinitions: { [contractName: string]: BlackholeInfo } = {
    //sCash
    // sCASH_spool_N
    sCASH_spool_0: {
      name: 'sFUND Launch Phase 1',
      contract: 'sCASH_spool_0',
      depositTokenName: 'USDT',
      earnTokenName: 'sCASH',
      finished: false,
      group: 'cash',
      sort: 4,
    },
    sCASH_spool_1: {
      name: 'sFUND Launch Phase 2',
      contract: 'sCASH_spool_1',
      depositTokenName: 'USDT',
      earnTokenName: 'sCASH',
      finished: false,
      group: 'cash',
      sort: 5,
    },
    sCASH_spool_2: {
      name: 'sFUND Launch Phase 3',
      contract: 'sCASH_spool_2',
      depositTokenName: 'USDT',
      earnTokenName: 'sCASH',
      finished: false,
      group: 'cash',
      sort: 6,
    },
    sCASH_spool_3: {
      name: 'sFUND Launch Phase 4',
      contract: 'sCASH_spool_3',
      depositTokenName: 'USDT',
      earnTokenName: 'sCASH',
      finished: false,
      group: 'cash',
      sort: 7,
    },
    sCASH_spool_4: {
      name: 'sFUND Launch Phase 5',
      contract: 'sCASH_spool_4',
      depositTokenName: 'USDT',
      earnTokenName: 'sCASH',
      finished: false,
      group: 'cash',
      sort: 8,
    },

    sCASH_CashPool: {
      name: 'sFUND CashSwap',
      contract: 'sCASH_CashPool',
      depositTokenName: 'USDT',
      earnTokenName: 'sCASH',
      finished: false,
      group: 'cash',
      sort: 9,
    },
    sCASH_PegPool: {
      name: 'sFUND PegSwap',
      contract: 'sCASH_PegPool',
      depositTokenName: 'sCASH',
      earnTokenName: 'USDT',
      finished: false,
      group: 'cash',
      sort: 10,
    },
    sCASH_SharePool: {
      name: 'sFUND ShareSwap',
      contract: 'sCASH_SharePool',
      depositTokenName: 'sCASH',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'cash',
      sort: 11,
    },

    //sHT
    sHT_spool_0: {
      name: 'sFUND-sHT Launch',
      contract: 'sHT_spool_0',
      depositTokenName: 'wHT',
      earnTokenName: 'sHT',
      finished: false,
      group: 'ht',
      sort: 4,
    },
    donatePool_sHT: {
      name: 'sFund Launch Phase 1 Donator Only',
      contract: 'donatePool_sHT',
      depositTokenName: 'USDT',
      earnTokenName: 'sHT',
      finished: false,
      group: 'ht',
      sort: 5,
    },
    donatePool_SHARE: {
      name: 'sFund Launch Phase 1 Donator Only ',
      contract: 'donatePool_SHARE',
      depositTokenName: 'USDT',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'ht',
      sort: 6,
    },

    sHT_CashPool: {
      name: 'sFUND CashSwap',
      contract: 'sHT_CashPool',
      depositTokenName: 'wHT',
      earnTokenName: 'sHT',
      finished: false,
      group: 'ht',
      sort: 9,
    },
    sHT_PegPool: {
      name: 'sFUND PegSwap',
      contract: 'sHT_PegPool',
      depositTokenName: 'sHT',
      earnTokenName: 'wHT',
      finished: false,
      group: 'ht',
      sort: 10,
    },
    sHT_SharePool: {
      name: 'sFUND ShareSwap',
      contract: 'sHT_SharePool',
      depositTokenName: 'sHT',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'ht',
      sort: 11,
    },

    //sNEO
    sNEO_spool_0: {
      name: 'sFUND-sNEO Launch',
      contract: 'sNEO_spool_0',
      depositTokenName: 'pNEO',
      earnTokenName: 'sNEO',
      finished: false,
      group: 'neo',
      sort: 4,
    },
    donatePool2: {
      name: 'sFund Launch Phase 1 Donator Only  ',
      contract: 'donatePool2',
      depositTokenName: 'USDT',
      earnTokenName: 'sNEO',
      finished: false,
      group: 'neo',
      sort: 5,
    },
    donatePool2_SHARE: {
      name: 'sFund Launch Phase 1 Donator Only   ',
      contract: 'donatePool2_SHARE',
      depositTokenName: 'USDT',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'neo',
      sort: 6,
    },

    sNEO_CashPool: {
      name: 'sFUND CashSwap',
      contract: 'sNEO_CashPool',
      depositTokenName: 'pNEO',
      earnTokenName: 'sNEO',
      finished: false,
      group: 'neo',
      sort: 9,
    },
    sNEO_PegPool: {
      name: 'sFUND PegSwap',
      contract: 'sNEO_PegPool',
      depositTokenName: 'sNEO',
      earnTokenName: 'pNEO',
      finished: false,
      group: 'neo',
      sort: 10,
    },
    sNEO_SharePool: {
      name: 'sFUND ShareSwap',
      contract: 'sNEO_SharePool',
      depositTokenName: 'sNEO',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'neo',
      sort: 11,
    },

    //sFILDA
    sFILDA_spool_0: {
      name: 'sFUND-sFILDA Launch',
      contract: 'sFILDA_spool_0',
      depositTokenName: 'Filda',
      earnTokenName: 'sFILDA',
      finished: false,
      group: 'filda',
      sort: 4,
    },

    sFILDA_CashPool: {
      name: 'sFUND CashSwap',
      contract: 'sFILDA_CashPool',
      depositTokenName: 'Filda',
      earnTokenName: 'sFILDA',
      finished: false,
      group: 'filda',
      sort: 9,
    },
    sFILDA_PegPool: {
      name: 'sFUND PegSwap',
      contract: 'sFILDA_PegPool',
      depositTokenName: 'sFILDA',
      earnTokenName: 'Filda',
      finished: false,
      group: 'filda',
      sort: 10,
    },
    sFILDA_SharePool: {
      name: 'sFUND ShareSwap',
      contract: 'sFILDA_SharePool',
      depositTokenName: 'sFILDA',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'filda',
      sort: 11,
    },

    //sNULS
    sNULS_spool_0: {
      name: 'sFUND-sNULS Launch',
      contract: 'sNULS_spool_0',
      depositTokenName: 'NULS',
      earnTokenName: 'sNULS',
      finished: false,
      group: 'nuls',
      sort: 4,
    },

    sNULS_CashPool: {
      name: 'sFUND CashSwap',
      contract: 'sNULS_CashPool',
      depositTokenName: 'NULS',
      earnTokenName: 'sNULS',
      finished: false,
      group: 'nuls',
      sort: 9,
    },
    sNULS_PegPool: {
      name: 'sFUND PegSwap',
      contract: 'sNULS_PegPool',
      depositTokenName: 'sNULS',
      earnTokenName: 'NULS',
      finished: false,
      group: 'nuls',
      sort: 10,
    },
    sNULS_SharePool: {
      name: 'sFUND ShareSwap',
      contract: 'sNULS_SharePool',
      depositTokenName: 'sNULS',
      earnTokenName: 'SHARE',
      finished: false,
      group: 'nuls',
      sort: 11,
    },
};

export const voteDefinitions: { [name: string]: VoteInfo } = {
  SIP_001_SHARE_DAO: {
    name: 'SIP_001_SHARE_DAO',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_001_SHARE_DAO_Roadmap.md',
    contract: 'proposal',
    sort: 1,
  },
  SIP_002_BLACKHOLE_UPDATE: {
    name: 'SIP_002_BLACKHOLE_UPDATE',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_002_BLACKHOLE_UPDATE.md',
    contract: 'SIP_002',
    sort: 1,
  },
  SIP_003_MATRIX_PLANET: {
    name: 'SIP_003_MATRIX_PLANET',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_003_MATRIX_PLANET.md',
    contract: 'SIP_003',
    sort: 1,
  },
  SIP_004_TVL_REQUIREMENT_ADJUSTMENT: {
    name: 'SIP_004_TVL_REQUIREMENT',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_004_TVL_REQUIREMENT_ADJUSTMENT.md',
    contract: 'SIP_004',
    sort: 1,
  },
  SIP_005_EXPANSION_ALLOCATION_RATIO_ADJUST: {
    name: 'SIP_005_EXPANSION',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_005_EXPANSION_ALLOCATION_RATIO_ADJUST.md',
    contract: 'SIP_005',
    sort: 1,
  },
  SIP_006_SET_SHARE_MINEPOOL: {
    name: 'SIP_006_SET_SHARE',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_006_SET_SHARE_MINEPOOL.md',
    contract: 'SIP_006',
    sort: 1,
  },
  SIP_007_SHARESWAP_ADJUSTMENT: {
    name: 'SIP_007_SHARESWAP',
    url: 'https://github.com/supernova-cash/SIPs/blob/main/SIP_007_SHARESWAP_ADJUSTMENT.md',
    contract: 'SIP_007',
    sort: 1,
  },
};

export default configurations[process.env.NODE_ENV || "development"];
